Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
REEFT_GPS_new
/
REEFT_GPS
:
ajax_create_job.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php //====================================================================================== // // Function: Create new job // // Programmer: AR // Date : 2025-05-06 // // Copyright Reeft A/S (c) - 2025 //====================================================================================== //====================================================================================== // Set session //====================================================================================== if(!isset($_SESSION)) { session_start(); } //====================================================================================== // General //====================================================================================== include "include/apikey.php"; include "rft_apicall.php"; include "REEFT_date_convert/REEFT_date_convert.php"; $returnResult = []; $returnResult["error"] = ""; //====================================================================================== // Get input //====================================================================================== if (isset($_SESSION["receivedToken"])) { $receivedToken = $_SESSION["receivedToken"]; } else { $returnResult["error"] .= "receivedToken missing"; echo json_encode($returnResult); exit; } if (isset($_SESSION["ConsiderOrganizationHeader"])) { $ConsiderOrganizationHeader = $_SESSION["ConsiderOrganizationHeader"]; } else { $ConsiderOrganizationHeader = ""; } if (isset($_SESSION["UseSharedDb"])) { $UseSharedDb = $_SESSION["UseSharedDb"]; } else { $UseSharedDb = ""; } if (isset($_SESSION["TargetOrganization"])) { $TargetOrganization = $_SESSION["TargetOrganization"]; } else { $TargetOrganization = ""; } if (isset($_REQUEST["accountId"])) { $accountId = $_REQUEST["accountId"]; } else { $returnResult["error"] .= "accountId missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["departmentId"])) { $departmentId = $_REQUEST["departmentId"]; } else { $returnResult["error"] .= "departmentId missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["activityTypeId"])) { $activityTypeId = $_REQUEST["activityTypeId"]; } else { $returnResult["error"] .= "activityTypeId missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["shortDescription"])) { $shortDescription = $_REQUEST["shortDescription"]; } else { $returnResult["error"] .= "shortDescription missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["startDate"])) { $startDate = $_REQUEST["startDate"]; } else { $returnResult["error"] .= "startDate missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["fromTime"])) { $fromTime = $_REQUEST["fromTime"]; } else { $returnResult["error"] .= "fromTime missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["toTime"])) { $toTime = $_REQUEST["toTime"]; } else { $returnResult["error"] .= "toTime missing"; echo json_encode($returnResult); exit; } if (isset($_REQUEST["selectedEmp"])) { $selectedEmp = $_REQUEST["selectedEmp"]; } else { $selectedEmp = $_REQUEST["selectedEmp"]; } if (isset($_REQUEST["selectedServiceUnit"])) { $selectedServiceUnit = $_REQUEST["selectedServiceUnit"]; } else { $selectedServiceUnit = $_REQUEST["selectedServiceUnit"]; } if (isset($_REQUEST["longDescription"])) { $longDescription = $_REQUEST["longDescription"]; } else { $longDescription = $_REQUEST["longDescription"]; } $startDatetime = $startDate . "T" . $fromTime; $dueDatetime = $startDate . "T" . $toTime; $startDatetimeUTC = REEFT_local_to_utc($startDatetime); $dueDatetimeUTC = REEFT_local_to_utc($dueDatetime); $createdAt = date("Y-m-d\TH:i:s"); $time1 = new DateTime($fromTime); $time2 = new DateTime($toTime); $interval = $time1->diff($time2); $estimatedHours = $interval->h + ($interval->i / 60); $headers = [ 'accept: text/plain', 'Content-Type: application/json', 'ConsiderOrganizationHeader: ' . $ConsiderOrganizationHeader, 'UseSharedDb: ' . $UseSharedDb, 'TargetOrganization: ' . $TargetOrganization, ]; $job = [ 'accountId' => $accountId, 'departmentId' => $departmentId, 'activityTypeId' => $activityTypeId, 'shortDescription' => $shortDescription, 'startDatetime' => $startDatetimeUTC, 'dueDatetime' => $dueDatetimeUTC, 'estimatedHours' => $estimatedHours, 'createdAt' => $createdAt, 'createdBy' => $_SESSION["loginUserId"] ]; if ($longDescription != "") $job['longDescription'] = $longDescription; if ($selectedServiceUnit != "") $job['serviceUnitId'] = $selectedServiceUnit; $data = [ "OrganizationId" => $TargetOrganization, "job" => $job , ]; $url = $rftUrl . '/Job/Create'; $response = makeApiCall($url, $headers, $data, 'POST'); if (isset($response['error'])) { $returnResult["error"] .= $response['error']; } else if (isset($response['data'])) { // Add assignment and schedule $jobId = $response['data']; $returnResult["jobId"] = $jobId; if ($selectedEmp != "") { $data = [ "userIds" => [$selectedEmp], "jobId" => $jobId, ]; $url = $rftUrl . '/JobAssignment/Add'; $responseAssignment = makeApiCall($url, $headers, $data, 'POST'); $jobSchedules = [ "startDateTime" => $startDatetimeUTC, "endDateTime" => $dueDatetimeUTC , ]; $data = [ "users" => [$selectedEmp], "jobId" => $jobId, "organizationId" => $TargetOrganization, "jobSchedules" => [$jobSchedules], ]; $url = $rftUrl . '/JobSchedule/Add'; $responseSchedule = makeApiCall($url, $headers, $data, 'POST'); } } else { $returnResult["error"] .= "No job ID returned"; } echo json_encode($returnResult);